import * as api from '../../api/common'; // 导入接口模块

Page({
  data: {
    userId: null,
    statusBarHeight: 0,
    height: 0,
    total: 0,
    dataList: [], // 数据列表
    loading: false, // 是否正在加载中
    noMore: false, // 是否已加载全部数据
    pageNum: 1, // 当前页码，根据实际情况设置初始值
    pageSize: 10, // 每页数据条数，根据实际情况设置
  },

  onLoad() {
    const userInfo = tt.getStorageSync('info');
    if (userInfo && userInfo.id) {
      this.setData({
        userId: userInfo.id
      })
    } else {
      tt.showToast({
        title: '用户信息获取失败',
        icon: 'fail'
      });
      return;
    }
    // 初始化数据
    this.loadData();
    const sysInfo = tt.getMenuButtonBoundingClientRect();
    this.setData({
      height: sysInfo.height,
      statusBarHeight: sysInfo.top,
    });
  },

  // 加载数据方法
  async loadData() {
    if (this.data.loading || this.data.noMore) {
      return; // 如果正在加载中或已加载全部数据，则直接返回
    }

    this.setData({
      loading: true
    });

    try {
      const {data, code} = await api.scoreLog({
        id: this.data.userId, 
        pageNum: this.data.pageNum, // 当前页码
        pageSize: this.data.pageSize // 每页数据条数
      });
   
      if (code == 0) {
        tt.showToast({ title: '加载数据失败', icon: 'none' });
      } else {
        const newData = data.list.data || []; // 假设数据在 response.data.data 中
        const newList = this.data.dataList.concat(newData);
        const total = data.total
        this.setData({
          total: total,
          dataList: newList,
          loading: false,
          noMore: data.list.last_page <= this.data.pageNum, // 判断是否还有更多数据
        });
      }
    } catch (error) {
      this.setData({
        loading: false
      });
      tt.showToast({ title: '加载数据失败', icon: 'none' });
    }
  },
  
  // 上拉加载更多数据
  loadMoreData() {
    if (this.data.loading || this.data.noMore) {
      return; // 如果正在加载中或已加载全部数据，则直接返回
    }
    this.setData({
      pageNum: this.data.pageNum + 1, // 更新页码
    });
    this.loadData(); // 加载数据
  },
});
